package com.yuzhi.master.pump.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.yuzhi.common.core.domain.BaseEntity;
import com.yuzhi.master.sewage.rmstSz.entity.request.LocalDateTimeSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 排水泵站表 drain_pump
 *
 * @author auto code generator
 * @date 2024-04-15
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("drain_pump")
public class DrainPump extends BaseEntity {

    private static final long serialVersionUID=1L;

    /*//@TableId(type = IdType.ASSIGN_UUID)
    @Schema(description="id主键")
    private String id;*/

    /**
     * 泵站代码，唯一标识
     */
    @Schema(description = "泵站代码，唯一标识")
    private String draiPumpId;

    /**
     * 排水系统代码
     */
    @Schema(description = "排水系统代码")
    private String sysId;

    /**
     * 泵站名称
     */
    @Schema(description = "泵站名称")
    private String draiPumpName;

    /**
     * 泵站简称
     */
    @Schema(description = "泵站简称")
    private String shortName;
    /**
     * 大类：1-雨水泵站，2-污水泵站，3-合流泵站，9-其它
     */
    @Schema(description = "大类：1-雨水泵站，2-污水泵站，3-合流泵站，9-其它")
    private Integer draiPumpType;
    /**
     * 小类：1-雨水泵站，2-立交泵站，3-泵闸、4-污水泵站，5-合流泵站，6-干线输送泵站，7-支线输送泵站，9-其它
     */
    @Schema(description = "小类：1-雨水泵站，2-立交泵站，3-泵闸、4-污水泵站，5-合流泵站，6-干线输送泵站，7-支线输送泵站，9-其它")
    private Integer draiPumpTypeFeat;
    /**
     * 地址
     */
    @Schema(description = "地址")
    private String draiPumpAdd;
    /**
     * 联系电话
     */
    @Schema(description = "联系电话")
    private String draiPumpPhone;
    /**
     * 邮政编码
     */
    @Schema(description = "邮政编码")
    private String draiPumpPostCode;
    /**
     * 排入水体名称
     */
    @Schema(description = "排入水体名称")
    private String draiPumpToRiv;
    /**
     *设计单位
     */
    @Schema(description = "设计单位")
    private String draiPumpComDsn;
    /**
     * 施工单位
     */
    @Schema(description = " 施工单位")
    private String draiPumpComBuild;
    /**
     * 运行管理单位
     */
    @Schema(description = "运行管理单位")
    private String draiPumpComMng;
    /**
     * 设施状态1-拟建，2-已建，3-已废
     */
    @Schema(description = "设施状态1-拟建，2-已建，3-已废")
    private Integer draiPumpState;
    /**
     * 投产日期
     */
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    @Schema(description = "投产日期")
    private LocalDateTime draiPumpDateRun;
    /**
     * 设计排水能力（立方米/秒）
     */
    @Schema(description = "设计排水能力（立方米/秒）")
    private Double draiPumpFlowDsn;
    /**
     * 现有排水能力（立方米/秒）
     */
    @Schema(description = "现有排水能力（立方米/秒）")
    private Double draiPumpFlowFact;
    /**
     * 设计装机容量（千瓦）
     */
    @Schema(description = "设计装机容量（千瓦）")
    private Double draiPumpPowDsn;
    /**
     * 现有装机容量（千瓦）
     */
    @Schema(description = "现有装机容量（千瓦）")
    private Double draiPumpPowFact;
    /**
     * 泵站总功率（千瓦）
     */
    @Schema(description = "泵站总功率（千瓦）")
    private Double draiPumpPowSum;
    /**
     * 技术水位（米）
     */
    @Schema(description = "技术水位（米）")
    private Double draiPumpLevelDsn;
    /**
     * 最高开车水位（米）
     */
    @Schema(description = "最高开车水位（米）")
    private Double draiPumpLevelMax;
    /**
     * 最低停车水位（米）
     */
    @Schema(description = "最低停车水位（米）")
    private Double draiPumpLevelMin;
    /**
     * 泵站外接管道代码
     */
    @Schema(description = "泵站外接管道代码")
    private String draiPipeId;

    /**
     * 占地面积（平方米）
     */
    @Schema(description = "占地面积（平方米）")
    private Double draiPumpAreaUse;
    /**
     * 平面图
     */
    @Schema(description = "平面图")
    private String draiPumpPlan;

    /**
     * 剖面图
     */
    @Schema(description = "剖面图")
    private String draiPumpProfile;

    /**
     * 备注
     */
    @Schema(description = "备注")
    private String draiPumpRemark;


    /**
     * 行政区域
     */
    @Schema(description = "行政区域")
    private String areaCode;

    /**
     * 经度
     */
    private Double longitude;

    /**
     * 维度
     */
    private Double latitude;


    /**
     * 是否有全景图(0:否  1:是)
     */
    private String hasPanorama;

    /**
     * 泵站级别类型(数据字典)
     */
    private String pumpStationGrade;

    /**
     * 污水厂id
     */
    private String factId;
    /**
     * 排水分区id
     */
    private String radiationId;


    @TableField(exist = false) // 表示不是数据库字段
    private String draiPumpTypeDesc;
    @TableField(exist = false)
    private String draiPumpTypeFeatDesc;
    @TableField(exist = false)
    private String draiPumpStateDesc;


}
